package com.ruoyi.device.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 设备信息对象 device_info
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class DeviceInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备ID */
    private String deviceId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 场所名称 */
    @Excel(name = "场所名称")
    private String locationName;

    /** 场所地址 */
    @Excel(name = "场所地址")
    private String locationAddress;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contactPerson;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private String deviceModel;

    /** MAC地址 */
    @Excel(name = "MAC地址")
    private String macAddress;

    /** IP地址 */
    @Excel(name = "IP地址")
    private String ipAddress;

    /** 设备状态(0-离线,1-在线,2-故障) */
    @Excel(name = "设备状态", readConverterExp = "0=离线,1=在线,2=故障")
    private Integer status;

    /** 最后心跳时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后心跳时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastHeartbeat;

    /** 安装日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安装日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date installDate;

    /** 经度 */
    private BigDecimal longitude;

    /** 纬度 */
    private BigDecimal latitude;

    /** 设备鉴权密钥 */
    private String secretKey;

    /** SN序列号 */
    @Excel(name = "SN序列号")
    private String sn;

    /** WiFi网络名称(SSID) */
    @Excel(name = "WiFi网络名称")
    private String wifiSsid;

    /** WiFi网络名称2(SSID2) */
    @Excel(name = "WiFi网络名称2")
    private String wifiSsid2;

    /** WiFi密码 */
    private String wifiPassword;

    /** WiFi安全类型(0-开放,1-WPA/WPA2,2-WEP) */
    @Excel(name = "WiFi安全类型", readConverterExp = "0=开放,1=WPA/WPA2,2=WEP")
    private Integer wifiSecurityType;

    /** WiFi频段(2.4/5.0 GHz) */
    @Excel(name = "WiFi频段")
    private BigDecimal wifiFrequency;

    /** WiFi信号强度(dBm) */
    @Excel(name = "信号强度")
    private Integer wifiSignalStrength;

    /** WiFi功能是否启用(0-禁用,1-启用) */
    @Excel(name = "WiFi启用状态", readConverterExp = "0=禁用,1=启用")
    private Integer wifiEnabled;

    /** 连接的客户端信息(JSON格式) */
    private String connectedClients;

    /** 当前连接人数 */
    @Excel(name = "当前连接人数")
    private Integer currentConnections;

    public void setDeviceId(String deviceId) 
    {
        this.deviceId = deviceId;
    }

    public String getDeviceId() 
    {
        return deviceId;
    }
    public void setDeviceName(String deviceName) 
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName() 
    {
        return deviceName;
    }
    public void setLocationName(String locationName) 
    {
        this.locationName = locationName;
    }

    public String getLocationName() 
    {
        return locationName;
    }
    public void setLocationAddress(String locationAddress) 
    {
        this.locationAddress = locationAddress;
    }

    public String getLocationAddress() 
    {
        return locationAddress;
    }
    public void setContactPerson(String contactPerson) 
    {
        this.contactPerson = contactPerson;
    }

    public String getContactPerson() 
    {
        return contactPerson;
    }
    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }
    public void setDeviceModel(String deviceModel) 
    {
        this.deviceModel = deviceModel;
    }

    public String getDeviceModel() 
    {
        return deviceModel;
    }
    public void setMacAddress(String macAddress) 
    {
        this.macAddress = macAddress;
    }

    public String getMacAddress() 
    {
        return macAddress;
    }
    public void setIpAddress(String ipAddress) 
    {
        this.ipAddress = ipAddress;
    }

    public String getIpAddress() 
    {
        return ipAddress;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setLastHeartbeat(Date lastHeartbeat) 
    {
        this.lastHeartbeat = lastHeartbeat;
    }

    public Date getLastHeartbeat() 
    {
        return lastHeartbeat;
    }
    public void setInstallDate(Date installDate) 
    {
        this.installDate = installDate;
    }

    public Date getInstallDate() 
    {
        return installDate;
    }
    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }
    public void setSecretKey(String secretKey) 
    {
        this.secretKey = secretKey;
    }

    public String getSecretKey() 
    {
        return secretKey;
    }

    public void setSn(String sn) 
    {
        this.sn = sn;
    }

    public String getSn() 
    {
        return sn;
    }

    public void setWifiSsid(String wifiSsid) 
    {
        this.wifiSsid = wifiSsid;
    }

    public String getWifiSsid() 
    {
        return wifiSsid;
    }

    public void setWifiSsid2(String wifiSsid2) 
    {
        this.wifiSsid2 = wifiSsid2;
    }

    public String getWifiSsid2() 
    {
        return wifiSsid2;
    }

    public void setWifiPassword(String wifiPassword) 
    {
        this.wifiPassword = wifiPassword;
    }

    public String getWifiPassword() 
    {
        return wifiPassword;
    }

    public void setWifiSecurityType(Integer wifiSecurityType) 
    {
        this.wifiSecurityType = wifiSecurityType;
    }

    public Integer getWifiSecurityType() 
    {
        return wifiSecurityType;
    }

    public void setWifiFrequency(BigDecimal wifiFrequency) 
    {
        this.wifiFrequency = wifiFrequency;
    }

    public BigDecimal getWifiFrequency() 
    {
        return wifiFrequency;
    }

    public void setWifiSignalStrength(Integer wifiSignalStrength) 
    {
        this.wifiSignalStrength = wifiSignalStrength;
    }

    public Integer getWifiSignalStrength() 
    {
        return wifiSignalStrength;
    }

    public void setWifiEnabled(Integer wifiEnabled) 
    {
        this.wifiEnabled = wifiEnabled;
    }

    public Integer getWifiEnabled() 
    {
        return wifiEnabled;
    }

    public void setConnectedClients(String connectedClients) 
    {
        this.connectedClients = connectedClients;
    }

    public String getConnectedClients() 
    {
        return connectedClients;
    }

    public void setCurrentConnections(Integer currentConnections) 
    {
        this.currentConnections = currentConnections;
    }

    public Integer getCurrentConnections() 
    {
        return currentConnections;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deviceId", getDeviceId())
            .append("deviceName", getDeviceName())
            .append("locationName", getLocationName())
            .append("locationAddress", getLocationAddress())
            .append("contactPerson", getContactPerson())
            .append("contactPhone", getContactPhone())
            .append("deviceModel", getDeviceModel())
            .append("macAddress", getMacAddress())
            .append("ipAddress", getIpAddress())
            .append("status", getStatus())
            .append("lastHeartbeat", getLastHeartbeat())
            .append("installDate", getInstallDate())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("secretKey", getSecretKey())
            .append("sn", getSn())
            .append("wifiSsid", getWifiSsid())
            .append("wifiSsid2", getWifiSsid2())
            .append("wifiPassword", getWifiPassword())
            .append("wifiSecurityType", getWifiSecurityType())
            .append("wifiFrequency", getWifiFrequency())
            .append("wifiSignalStrength", getWifiSignalStrength())
            .append("wifiEnabled", getWifiEnabled())
            .append("connectedClients", getConnectedClients())
            .append("currentConnections", getCurrentConnections())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
} 